
<!DOCTYPE html>

<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

    <title>Development process &#8212; LAVA 2024.05 documentation</title>
    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
    <script src="_static/jquery.js"></script>
    <script src="_static/underscore.js"></script>
    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
    <script src="_static/doctools.js"></script>
    <script src="_static/sphinx_highlight.js"></script>
    <link rel="shortcut icon" href="_static/favicon.ico"/>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="LAVA development" href="development.html" />
    <link rel="prev" title="Guide to development within LAVA" href="development-intro.html" />
    <link rel="canonical" href="https://docs.lavasoftware.org/lava/process.html" />
  
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
<meta name="apple-mobile-web-app-capable" content="yes">
<script type="text/javascript" src="_static/js/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="_static/js/jquery-fix.js"></script>
<script type="text/javascript" src="_static/bootstrap-3.4.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="_static/bootstrap-sphinx.js"></script>


  </head><body>

  <div id="navbar" class="navbar navbar-default navbar-fixed-top">
    <div class="container">
      <div class="navbar-header">
        <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="index.html"><span><img src="_static/lava.png"></span>
          LAVA</a>
        <span class="navbar-text navbar-version pull-left"><b>2024.05</b></span>
      </div>

        <div class="collapse navbar-collapse nav-collapse">
          <ul class="nav navbar-nav">
            
                <li><a href="genindex.html">Index</a></li>
                <li><a href="contents.html">Contents</a></li>
            
            
              <li class="dropdown globaltoc-container">
  <a role="button"
     id="dLabelGlobalToc"
     data-toggle="dropdown"
     data-target="#"
     href="index.html">Site <b class="caret"></b></a>
  <ul class="dropdown-menu globaltoc"
      role="menu"
      aria-labelledby="dLabelGlobalToc"><ul class="current">
<li class="toctree-l1"><a class="reference internal" href="index.html">Introduction to LAVA</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="contents.html">Contents</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="glossary.html">Glossary of terms</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="support.html">Getting support</a></li>
</ul>
</ul>
</li>
              
                <li class="dropdown">
  <a role="button"
     id="dLabelLocalToc"
     data-toggle="dropdown"
     data-target="#"
     href="#">Page <b class="caret"></b></a>
  <ul class="dropdown-menu localtoc"
      role="menu"
      aria-labelledby="dLabelLocalToc"><ul>
<li><a class="reference internal" href="#">Development process</a><ul>
<li><a class="reference internal" href="#design-meeting">Design meeting</a></li>
<li><a class="reference internal" href="#release-process">Release process</a></li>
<li><a class="reference internal" href="#releases">Releases</a></li>
<li><a class="reference internal" href="#reporting-bugs">Reporting Bugs</a></li>
</ul>
</li>
</ul>
</ul>
</li>
              
            
            
              
                
  <li>
    <a href="development-intro.html" title="Previous Chapter: Guide to development within LAVA"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; Guide to deve...</span>
    </a>
  </li>
  <li>
    <a href="development.html" title="Next Chapter: LAVA development"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">LAVA development &raquo;</span>
    </a>
  </li>
              
            
            
            
            
              <li class="hidden-sm"></li>
            
          </ul>

          
            
<form class="navbar-form navbar-right" action="search.html" method="get">
 <div class="form-group">
  <input type="text" name="q" class="form-control" placeholder="Search" />
 </div>
  <input type="hidden" name="check_keywords" value="yes" />
  <input type="hidden" name="area" value="default" />
</form>
          
        </div>
    </div>
  </div>

<div class="container">
  <div class="row">
    <div class="body col-md-12 content" role="main">
      
  <section id="development-process">
<span id="index-0"></span><span id="id1"></span><h1>Development process<a class="headerlink" href="#development-process" title="Permalink to this heading">¶</a></h1>
<p>The LAVA development process is based on git. The various source code
repositories are hosted on <a class="reference external" href="https://gitlab.com/">the lavasoftware GitLab instance</a>.</p>
<p>The LAVA team is spread geographically around the world, with members
in multiple countries. We can often be found talking on our IRC
channel <code class="docutils literal notranslate"><span class="pre">#lavasoftware</span></code> on <code class="docutils literal notranslate"><span class="pre">irc.libera.chat</span></code>.</p>
<p>The LAVA codebase is all Free and Open Source Software, and we welcome
third party contributions and new team members. Developers are
recommended to join us on the <a class="reference internal" href="support.html#lava-devel"><span class="std std-ref">lava-devel</span></a> mailing list to
discuss development ideas and issues.</p>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="support.html#getting-support"><span class="std std-ref">Getting support</span></a></p>
</div>
<section id="design-meeting">
<span id="lava-design-meeting"></span><span id="index-1"></span><h2>Design meeting<a class="headerlink" href="#design-meeting" title="Permalink to this heading">¶</a></h2>
<p>The LAVA design meeting is where the team gets together to work out
deep technical issues, and to agree on future development goals and
ideas. We set priorities for core LAVA development here, and agree on
what will go into upcoming releases.</p>
<p>We hold this meeting weekly every Wednesday at 13:00 to 14:00 UTC as a
video conference using Google Hangouts Meet:
<a class="reference external" href="https://meet.google.com/usu-aatj-fht">https://meet.google.com/usu-aatj-fht</a>. Summaries of the discussions
are posted to the <a class="reference internal" href="support.html#lava-devel"><span class="std std-ref">lava-devel</span></a> mailing list afterwards for the
benefit of those unable to attend.</p>
<p>If you wish to attend to discuss an issue, it is worth mentioning it
in advance on the mailing list first so that your topic is expected
and can be added to the agenda.</p>
</section>
<section id="release-process">
<span id="lava-release-process"></span><h2>Release process<a class="headerlink" href="#release-process" title="Permalink to this heading">¶</a></h2>
<p>LAVA is developed on an approximately monthly release schedule. Some months do
not include a release, this can be due to conference attendance or other
reasons. Subscribe to the <a class="reference internal" href="support.html#lava-announce"><span class="std std-ref">lava-announce</span></a> mailing list for updates.</p>
<p>Releases are based on git tags named to follow a YYYY.MM (year, month) pattern.
Should we need to release an upgrade to any existing release (such as for a
critical bug fix), we use the <code class="docutils literal notranslate"><span class="pre">post</span></code> suffix and sequential number
(YYYY.MM.postN).</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>There can be a delay between the upload of the next release to
Debian and the <a class="reference internal" href="installing_on_debian.html#lava-repositories"><span class="std std-ref">LAVA repositories</span></a> (production repo) and the deployment
of that same release onto <code class="docutils literal notranslate"><span class="pre">validation.linaro.org</span></code>. The actual version
installed can be seen in the header of the each page of the documentation.</p>
</div>
<p>The process itself consists of testing the master branch deployments on
<code class="docutils literal notranslate"><span class="pre">staging.validation.linaro.org</span></code>, merging the master branch into the staging
branch to create a <em>release candidate</em>, followed by merging the release
candidate into the release branch and creating the git tags.</p>
<p>During the testing of the release candidate, changes can continue to be merged
into master. Changes which are intended to go into the release candidate are
<em>cherry picked</em> using Gerrit into the staging branch.</p>
</section>
<section id="releases">
<h2>Releases<a class="headerlink" href="#releases" title="Permalink to this heading">¶</a></h2>
<p>Releases are made to Debian and announced on the <a class="reference internal" href="support.html#lava-announce"><span class="std std-ref">lava-announce</span></a> mailing
list. A lot of information is directly accessible from the Debian Tracker pages
for each project:</p>
<p><code class="docutils literal notranslate"><span class="pre">lava-server</span></code> tracker: <a class="reference external" href="https://tracker.debian.org/pkg/lava-server">https://tracker.debian.org/pkg/lava-server</a></p>
<p><code class="docutils literal notranslate"><span class="pre">lava-dispatcher</span></code> tracker: <a class="reference external" href="https://tracker.debian.org/pkg/lava-dispatcher">https://tracker.debian.org/pkg/lava-dispatcher</a></p>
</section>
<section id="reporting-bugs">
<h2>Reporting Bugs<a class="headerlink" href="#reporting-bugs" title="Permalink to this heading">¶</a></h2>
<p>New bugs should be reported via the <a class="reference external" href="https://lists.lavasoftware.org/mailman3/lists/lava-users.lists.lavasoftware.org/">LAVA Users mailing list</a>. You will need
to subscribe to the list to be able to post.</p>
<p>Please describe the problem clearly:</p>
<ul class="simple">
<li><p>Give the version of LAVA software you are using, as reported by <code class="docutils literal notranslate"><span class="pre">dpkg</span> <span class="pre">-l</span>
<span class="pre">lava-server</span> <span class="pre">lava-dispatcher</span></code></p></li>
<li><p>Attach all relevant configuration and log portions. If you are using LAVA
with your own device, provide the full Jinja2 template, device dictionary
and test job submission as well as the complete test job output.</p></li>
</ul>
<p>If you were using our public LAVA instance, the one used by Linaro for daily
activities (<a class="reference external" href="https://validation.linaro.org">https://validation.linaro.org</a>), try to include a link to a page
that manifests the problem. That will make debugging easier.</p>
</section>
</section>


    </div>
      
  </div>
</div>
<footer class="footer">
  <div class="container">
    <p class="pull-right">
      <a href="#">Back to top</a>
      
    </p>
    <p>
        &copy; Copyright 2010-2019, Linaro Limited.<br/>
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
    </p>
  </div>
</footer>
  </body>
</html>